using System.Collections.Generic;

namespace PluginFrame
{
	public interface IExperimentManagerService : IPcrFormControl
	{
		bool IsFoundError { get; set; }

		bool IsErrorBeep { get; set; }

		int CommunicationErrorCount { get; set; }

		bool IsFindCommunicationError { get; set; }

		void RefreshExperimentControllers(List<IPcrExperiment> pcrExperiments);

		bool InitializeCommunicationPort();

		void AddExperimentController(IExperimentController experimentController);

		void RemoveExperimentController(string experimentName);

		IExperimentController GetExperimentController(string experimentName);

		void Start(IPcrExperiment pcrExperiment);

		bool ReadInstrumentData();

		void Stop();

		void WaitDetectOrderFinish();

		string OpenHotLid(List<int> hotLidList);

		void ShowStatusDialog(string statusString);

		bool StatusDialogIsDisplay();
	}
}
